package com.gitee.wsl.func.source

import com.gitee.wsl.func.observer.Observer

/**
 * Represents a generic source that can be subscribed with an [Observer]
 */
fun interface Source< in T : Observer> {

    /**
     * Subscribes the specified [Observer] to this [Source]
     *
     * @param observer the [Observer] to be subscribed
     */
    fun subscribe(observer: T)

}